With the emergence of server partitioning, a single server can be made to run as if it were two or more servers. Server partitioning offers a number of advantages to information technology (IT) departments of growing businesses. For example, system administrators can consolidate multiple applications into a single server box, thereby centralizing management, saving space, and potentially lowering IT costs.
As virtualization and server partitioning become increasingly common, the level of virtualization, i.e., the number of logical systems concurrently executing in each server, will continue to increase. For example, in a hypervisor hosting a number of virtual machines, each virtual machine typically requires its own network connection. A network connection is typically established through a network interface device, for example, a network interface controller (NIC) or network adapter. However, providing each virtual machine with its own Ethernet adapter can be very expensive because of the cost of network adapter cards. Furthermore, Input/Output (IO) enclosures required to house the adapters may take valuable space on the server.
One solution is to develop a virtualized network interface controller which is capable of supporting a virtual machine (VM). A virtualized network interface controller can be provided in a virtual machine, and a guest operating system run by the virtual machine may use a network interface adapter to access the virtual network interface controller. Each network interface adapter requires a unique Media Access Control (MAC) address. Traditionally, network interface controllers had MAC addresses permanently burned into the adapter, providing a unique MAC address for each physical port of the controller.
In virtual machine environments, the hypervisor will control the physical devices, and the virtual machines will be provided virtual devices. For communicating to the VM, the virtualized network interface controller requires a unique MAC address. The OUI part of the MAC is normally assigned to the hypervisor manufacturer by IEEE. For example, for XEN hypervisor the OUI is “00:16:3E”. Assigning a unique NIC part of the MAC address is a challenging task, especially in a large network with a significant number of virtual machines.
Therefore, an unaddressed need exists in the art to address the aforementioned deficiencies and inadequacies.